//引入axios
import axios from "axios";

//封装并导出axios
export function request(config) {

    //创建axios实例
    const instance = axios.create({
        //基础url,减少拼接
        baseURL: 'https://example.cn',
        //超时时长定义为5秒
        timeout: 5000
        //更多配置，详见axios官网
    })

    //axios请求拦截器，用于在发送每次请求时，进行对应处理
    instance.interceptors.request.use(
        //发送请求成功
        config => {
            //对发送的请求进行配置，比如配置headers等

            //放行
            return config
        },
        //发送请求失败
        error => {
            console.log(error)
        })

    //axios响应拦截器，用于拦截服务器响应，进行对应处理
    instance.interceptors.response.use(
        //响应成功
        response => {
            //对响应结果，进行某些操作

            //放行
            return response
        },
        //响应失败
        error => {
            console.log(error)
        })

    //发送真正的网络请求
    return instance(config)
}
